package com.imonsoft.sqm.service.business.ipic_system;

import java.util.Map;

public interface IPICService {
    /**
     * 得到月份的不合格数量，从ClaimView视图中获得
     * @param searchMap
     * @return
     */
    public double getAmountNotQualifiedMonth(Map<String,Object> searchMap);


    /**
     * 得到累计的不合格数量，从ClaimView视图中获得
     * @param searchMap
     * @return
     */
    public double getAmountNotQualifiedAccumulate(Map<String,Object> searchMap);
    /**
     * 得到Rolling的不合格数量，从ClaimView视图中获得
     * @param searchMap
     * @return
     */
    public double getAmountNotQualifiedRolling(Map<String,Object> searchMap);

    /**
     * 得到月份的不合格数量和IPICValueTotal，从ClaimView视图中获得
     * @param searchMap
     * @return
     */
    public void getMonthData(Map<String,Object> searchMap,Map<String,Object> resultMap);

    /**
     * 得到累计的不合格数量和IPICValueTotal，从ClaimView视图中获得
     * @param searchMap
     * @return
     */
    public void getAccumulateData(Map<String,Object> searchMap,Map<String,Object> resultMap);

    /**
     * 得到月份的来料总数量，从Incoming表中获得
     * @param searchMap
     * @return
     */
    public double getIncomingAmountMonth(Map<String,Object> searchMap);

    /**
     * 得到累计的来料总数量，从Incoming表中获得
     * @param searchMap
     * @return
     */
    public double getIncomingAmountAccumulate(Map<String,Object> searchMap);
    /**
     * 得到Rolling的来料总数量，从Incoming表中获得
     * @param searchMap
     * @return
     */
    public double getIncomingAmountRolling(Map<String,Object> searchMap);





    /**
     * 计算某个月份的IPIC
     * @param searchMap
     * @param resultMap
     */
    public void calIPICMonthData(Map<String,Object> searchMap,Map<String,Object> resultMap);
    /**
     * 计算某个月份的PMCP
     * @param searchMap
     * @param resultMap
     */
    public void calPMCPMonthData(Map<String, Object> searchMap, Map<String, Object> resultMap);

    /**
     * 计算月份的PPM值
     * @param searchMap 参数要求：必须（供应商ID，年份，月份），非必须（投诉类型）
     * @param resultMap
     */
    public void calPPMMonthData(Map<String,Object> searchMap,Map<String,Object> resultMap);

    /**
     * 计算至目前月份累计的PPM值
     * @param searchMap 参数要求：必须（供应商ID，年份，月份），非必须（投诉类型）
     * @param resultMap
     */
    public void calPPMAccumulateData(Map<String,Object> searchMap,Map<String,Object> resultMap);
}
